Deklaration einer Klasse in ST
Syntax |
---|
|
Bedeutung |
---|
Deklaration einer →Klasse (ein Feature der →objektorientierte Programmierung) , wobei Beachten Sie, dass eine Klasse ähnlich einem →Funktionsbaustein ist, der die Funktionen der objektorientierten Programmierung verwendet. Gemäß der →IEC-Norm bestehen die folgenden Unterschiede:
Details zu den optionalen Schlüsselwörtern
Die |
Beispiel 1: Klasse mit Methoden |
---|
Class CCounter VAR m_iCurrentValue : DINT; (* Default = 0 *) m_bCountUp : BOOL:=TRUE; END_VAR VAR PUBLIC m_iUpperLimit : DINT:=+40; m_iLowerLimit : DINT:=-40; END_VAR METHOD PUBLIC Count : DINT IF (m_bCountUp AND m_iCurrentValue<m_iUpperLimit) THEN m_iCurrentValue:= m_iCurrentValue+1; END_IF; IF (NOT m_bCountUp AND m_iCurrentValue>m_iLowerLimit) THEN m_iCurrentValue:= m_iCurrentValue-1; END_IF; Count := m_iCurrentValue; END_METHOD METHOD public SetDirection VAR_INPUT bCountUp : BOOL; END_VAR m_bCountUp:=bCountUp; END_METHOD END_CLASS |
In einer Klasse dürfen Sie die folgenden Sprachelemente für ST verwenden:
Leerzeichen, Tabulator oder Leerzeilen in ST
Deklaration von externen Variablen in ST
Deklaration von Funktionsbaustein-Instanzen oder Klassen-Instanzen in ST
Deklaration von internen Variablen
Deklaration von Variablen, die auf einem Interface basieren
Anweisung für den Schreibschutz
Durch die Verwendung von Sprachelementen können Sie auch andere Elemente (z.B. Deklaration von STRING
-Variablen im Abschnitt VAR ... END_VAR
) verwenden. Dieses Elemente sind in der obigen Liste nicht angeführt.